package tables

const (
	CapSessionStatusForInit      = 1 // 初始化
	CapSessionStatusForHolding   = 2 // 握持中
	CapSessionStatusForBreak     = 3 // 断开
	CapSessionStatusForDestroyed = 4 // 注销
)

type CapSession struct {
	Id               int64  `json:"id,string" gorm:"primary_key"` // 主键
	Protocol         string `json:"protocol"`                     // 连接协议,可选 rdp vnc ssh
	HostId           int64  `json:"hostId,string"`
	HostIp           string `json:"hostIp"`                  // 目标主机的ip，
	ConnectPort      int    `json:"connectPort"`             // 目标主机的连接端口
	ConnectionId     string `json:"connectionId"`            // 连接ID，由客户端生成
	CertifyId        string `json:"certifyId"`               // 凭证ID
	WinSessionId     int    `json:"winSessionId"`            // win 会话ID
	Width            string `json:"width"`                   // 显示屏幕宽度
	Height           string `json:"height"`                  // 显示高度
	Status           int    `json:"status"`                  // 会话状态 。1-初始化；2-握持中，可以被管理；3-断开，未注销；4-已注销；
	Message          string `json:"message"`                 // 会话备注信息
	CreatedAt        int64  `json:"createdAt,string"`        // 创建时间
	ConnectedTime    int64  `json:"connectedTime,string"`    // 连接时间
	DisconnectedTime int64  `json:"disconnectedTime,string"` // 会话(注销销毁)的时间
	CreatorId        int64  `json:"creatorId,string"`
	ClusterId        int64  `json:"clusterId,string"`
	Creator          string `json:"creator"`
}

func (r *CapSession) TableName() string {
	return "cap_session"
}
